package com.ruoyi.system.service;

import java.io.IOException;
import java.util.List;

import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.system.domain.GwTemplate;
import com.ruoyi.system.dto.ThirdTemplateDTO;
import com.tencentcloudapi.common.exception.TencentCloudSDKException;

/**
 * 合同模版管理Service接口
 *
 * @author ruoyi
 * @date 2025-04-23
 */
public interface IGwTemplateService
{
    /**
     * 查询合同模版管理
     *
     * @param id 合同模版管理主键
     * @return 合同模版管理
     */
    public GwTemplate selectGwTemplateById(String id);

    /**
     * 查询合同模版管理列表
     *
     * @param gwTemplate 合同模版管理
     * @return 合同模版管理集合
     */
    public List<GwTemplate> selectGwTemplateList(GwTemplate gwTemplate);

    /**
     * 新增合同模版管理
     *
     * @param gwTemplate 合同模版管理
     * @return 结果
     */
    public int insertGwTemplate(GwTemplate gwTemplate) throws IOException, TencentCloudSDKException;

    /**
     * 修改合同模版管理
     *
     * @param gwTemplate 合同模版管理
     * @return 结果
     */
    public int updateGwTemplate(GwTemplate gwTemplate) throws IOException, TencentCloudSDKException;

    /**
     * 批量删除合同模版管理
     *
     * @param ids 需要删除的合同模版管理主键集合
     * @return 结果
     */
    public int deleteGwTemplateByIds(String[] ids);

    /**
     * 删除合同模版管理信息
     *
     * @param id 合同模版管理主键
     * @return 结果
     */
    public int deleteGwTemplateById(String id);

    public AjaxResult getThirdTemplateList(ThirdTemplateDTO thirdTemplateDTO) throws TencentCloudSDKException;

    public AjaxResult getThirdTemplateListNoPage(ThirdTemplateDTO thirdTemplateDTO) throws TencentCloudSDKException;

    public int thirdRemove(String[] ids);

    public AjaxResult authenticationOrConsole();

}
